ВВЕРХ
VBA-Урок 5. Свойства (Properties)
В данной статье мы будем учиться писать VBA код, чтобы управлять содержимым ячеек, самими ячейками и листами.
1. Запись значений в ячейку
Для начала откроем редактор, добавим модуль, скопируем туда этот макрос:
- Sub Properties()
- Range ("A1")
- End Sub
Sub Properties() 'moonexcel.com.ua
Range ("A1")
End Sub
Мы обратились к ячейке A1 . Теперь давайте попробуем управлять данной ячейкой.
Чтобы увидеть, что мы можем сделать, добавим точку после Range ("A1").
Выберите значение Value и нажмите Tab. Получим такой код:
- Sub Properties()
- Range ("A1").Value
- End Sub
Sub Properties() 'moonexcel.com.ua
Range ("A1").Value
End Sub
Значение Value отображает содержимое ячейки.
Теперь давайте запишем значение 35 в ячейку A1:
- Sub properties()
- Range("A1").Value = 35
-
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Value = 35
'Значение ячейки A1 равно 35
End Sub
Попробуем теперь записать текст в ячейку (когда присваиваем текстовое значение, его нужно брать в двойные кавычки ""):
- Sub properties()
- Range("A1").Value = "Тут є якийсь текст"
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Value = "Тут є якийсь текст"
End Sub
Заметим, что макрос будет отображать значение в том листе, который вы последний раз открывали. Поэтому, чтобы управлять содержимым ячейки на любом листе книги, нам нужно будет прописать полный путь к ячейке, а именно добавить впереди кода название листа, например:
Вариант 1. Обращаемся по названию листа - Sheets("Sheet2").
- Sub properties()
- Sheets("Sheet2").Range("A1").Value = "Тут є якийсь текст"
-
- End Sub
Sub properties() 'moonexcel.com.ua
Sheets("Sheet2").Range("A1").Value = "Тут є якийсь текст"
'Означает: открыть лист 2, выбрать ячейку A1 и в ее значение записать текст
End Sub
Вариант 2. Обращаемся не по названию листа, а по его порядковому номеру - Sheets(2).
- Sub properties()
- Sheets(2).Range("A1").Value = "Здесь есть какой-то текст"
- End Sub
Sub properties() 'moonexcel.com.ua
Sheets(2).Range("A1").Value = "Здесь есть какой-то текст"
End Sub
Аналогично, если мы хотим обратиться к ячейке в другой книге, нам нужно в начале кода прописать название книги:
- Sub properties()
- Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A1").Value = "Здесь есть какой-то текст"
- End Sub
Sub properties() 'moonexcel.com.ua
Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A1").Value = "Здесь есть какой-то текст"
End Sub
Хотя мы указываем параметр Value в наших примерах, на самом деле его можно не использовать, поскольку он стоит по умолчанию. То есть, эти две строки кода будут эквивалентными:
- Sub properties()
- Range("A1").Value = 35
- Range("A1") = 35
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Value = 35
Range("A1") = 35
End Sub
2. Удаление значений
Удалим значение 35 из ячейки A1, которое мы записали в начале урока:
- Sub properties()
- Range("A1").Clear
-
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Clear
'Означает: выбрать ячейку A1 и очистить ее
End Sub
3. Форматирование значений
Если вы выберете значение Font , то появится список параметров, которые вы сможете применить к ячейке:
Форматирование: изменение размера текста
Давайте присвоим ячейке значение 35 и уменьшим размер шрифта до 8:
- Sub properties()
- Range("A1") = 35
- Range("A1").Font.Size = 8
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1") = 35
Range("A1").Font.Size = 8
End Sub
Форматирование: сделать текст жирным
- Sub properties()
- Range("A1").Font.Bold = True
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Font.Bold = True
End Sub
Забрать выделение полужирным:
- Sub properties()
- Range("A1").Font.Bold = False
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Font.Bold = False
End Sub
Форматирование: сделать текст наклонным
- Sub properties()
- Range("A1").Font.Italic = True
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Font.Italic = True
End Sub
Форматирование: подчеркнуть текст
- Sub properties()
- Range("A1").Font.Underline = True
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Font.Underline = True
End Sub
Форматирование: установить тип шрифта
- Sub properties()
- Range("A1").Font.Name = "Arial"
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Font.Name = "Arial"
End Sub
Форматирование: закрасить ячейку
- Sub properties()
- Range("A1").Interior.ColorIndex = 6
- End Sub
Sub properties() 'moonexcel.com.ua
Range("A1").Interior.ColorIndex = 6
End Sub
Статьи по теме:
VBA-Урок 4. Работа с диапазонами (Range)
VBA-Урок 6.1. Типы данных (Variables)